package com.os.toytrade.domain.toy;

import com.jc.base.page.Page;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;

public class ToyElementInfoConditions {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    private Page page;

    private Date shardDate;

    public ToyElementInfoConditions() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    public void setPage(Page page) {
        this.page = page;
    }

    public Page getPage() {
        return this.page;
    }

    public void setShardDate(Date shardDate) {
        this.shardDate = shardDate;
    }

    public Date getShardDate() {
        return this.shardDate;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andIdIsNull() {
            addCriterion("id is null");
            return (Criteria) this;
        }

        public Criteria andIdIsNotNull() {
            addCriterion("id is not null");
            return (Criteria) this;
        }

        public Criteria andIdEqualTo(String value) {
            addCriterion("id =", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotEqualTo(String value) {
            addCriterion("id <>", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThan(String value) {
            addCriterion("id >", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdGreaterThanOrEqualTo(String value) {
            addCriterion("id >=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThan(String value) {
            addCriterion("id <", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLessThanOrEqualTo(String value) {
            addCriterion("id <=", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdLike(String value) {
            addCriterion("id like", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotLike(String value) {
            addCriterion("id not like", value, "id");
            return (Criteria) this;
        }

        public Criteria andIdIn(List<String> values) {
            addCriterion("id in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotIn(List<String> values) {
            addCriterion("id not in", values, "id");
            return (Criteria) this;
        }

        public Criteria andIdBetween(String value1, String value2) {
            addCriterion("id between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andIdNotBetween(String value1, String value2) {
            addCriterion("id not between", value1, value2, "id");
            return (Criteria) this;
        }

        public Criteria andElementNameChIsNull() {
            addCriterion("element_name_ch is null");
            return (Criteria) this;
        }

        public Criteria andElementNameChIsNotNull() {
            addCriterion("element_name_ch is not null");
            return (Criteria) this;
        }

        public Criteria andElementNameChEqualTo(String value) {
            addCriterion("element_name_ch =", value, "elementNameCh");
            return (Criteria) this;
        }

        public Criteria andElementNameChNotEqualTo(String value) {
            addCriterion("element_name_ch <>", value, "elementNameCh");
            return (Criteria) this;
        }

        public Criteria andElementNameChGreaterThan(String value) {
            addCriterion("element_name_ch >", value, "elementNameCh");
            return (Criteria) this;
        }

        public Criteria andElementNameChGreaterThanOrEqualTo(String value) {
            addCriterion("element_name_ch >=", value, "elementNameCh");
            return (Criteria) this;
        }

        public Criteria andElementNameChLessThan(String value) {
            addCriterion("element_name_ch <", value, "elementNameCh");
            return (Criteria) this;
        }

        public Criteria andElementNameChLessThanOrEqualTo(String value) {
            addCriterion("element_name_ch <=", value, "elementNameCh");
            return (Criteria) this;
        }

        public Criteria andElementNameChLike(String value) {
            addCriterion("element_name_ch like", value, "elementNameCh");
            return (Criteria) this;
        }

        public Criteria andElementNameChNotLike(String value) {
            addCriterion("element_name_ch not like", value, "elementNameCh");
            return (Criteria) this;
        }

        public Criteria andElementNameChIn(List<String> values) {
            addCriterion("element_name_ch in", values, "elementNameCh");
            return (Criteria) this;
        }

        public Criteria andElementNameChNotIn(List<String> values) {
            addCriterion("element_name_ch not in", values, "elementNameCh");
            return (Criteria) this;
        }

        public Criteria andElementNameChBetween(String value1, String value2) {
            addCriterion("element_name_ch between", value1, value2, "elementNameCh");
            return (Criteria) this;
        }

        public Criteria andElementNameChNotBetween(String value1, String value2) {
            addCriterion("element_name_ch not between", value1, value2, "elementNameCh");
            return (Criteria) this;
        }

        public Criteria andElementNameEnIsNull() {
            addCriterion("element_name_en is null");
            return (Criteria) this;
        }

        public Criteria andElementNameEnIsNotNull() {
            addCriterion("element_name_en is not null");
            return (Criteria) this;
        }

        public Criteria andElementNameEnEqualTo(String value) {
            addCriterion("element_name_en =", value, "elementNameEn");
            return (Criteria) this;
        }

        public Criteria andElementNameEnNotEqualTo(String value) {
            addCriterion("element_name_en <>", value, "elementNameEn");
            return (Criteria) this;
        }

        public Criteria andElementNameEnGreaterThan(String value) {
            addCriterion("element_name_en >", value, "elementNameEn");
            return (Criteria) this;
        }

        public Criteria andElementNameEnGreaterThanOrEqualTo(String value) {
            addCriterion("element_name_en >=", value, "elementNameEn");
            return (Criteria) this;
        }

        public Criteria andElementNameEnLessThan(String value) {
            addCriterion("element_name_en <", value, "elementNameEn");
            return (Criteria) this;
        }

        public Criteria andElementNameEnLessThanOrEqualTo(String value) {
            addCriterion("element_name_en <=", value, "elementNameEn");
            return (Criteria) this;
        }

        public Criteria andElementNameEnLike(String value) {
            addCriterion("element_name_en like", value, "elementNameEn");
            return (Criteria) this;
        }

        public Criteria andElementNameEnNotLike(String value) {
            addCriterion("element_name_en not like", value, "elementNameEn");
            return (Criteria) this;
        }

        public Criteria andElementNameEnIn(List<String> values) {
            addCriterion("element_name_en in", values, "elementNameEn");
            return (Criteria) this;
        }

        public Criteria andElementNameEnNotIn(List<String> values) {
            addCriterion("element_name_en not in", values, "elementNameEn");
            return (Criteria) this;
        }

        public Criteria andElementNameEnBetween(String value1, String value2) {
            addCriterion("element_name_en between", value1, value2, "elementNameEn");
            return (Criteria) this;
        }

        public Criteria andElementNameEnNotBetween(String value1, String value2) {
            addCriterion("element_name_en not between", value1, value2, "elementNameEn");
            return (Criteria) this;
        }

        public Criteria andDesignIsNull() {
            addCriterion("design is null");
            return (Criteria) this;
        }

        public Criteria andDesignIsNotNull() {
            addCriterion("design is not null");
            return (Criteria) this;
        }

        public Criteria andDesignEqualTo(String value) {
            addCriterion("design =", value, "design");
            return (Criteria) this;
        }

        public Criteria andDesignNotEqualTo(String value) {
            addCriterion("design <>", value, "design");
            return (Criteria) this;
        }

        public Criteria andDesignGreaterThan(String value) {
            addCriterion("design >", value, "design");
            return (Criteria) this;
        }

        public Criteria andDesignGreaterThanOrEqualTo(String value) {
            addCriterion("design >=", value, "design");
            return (Criteria) this;
        }

        public Criteria andDesignLessThan(String value) {
            addCriterion("design <", value, "design");
            return (Criteria) this;
        }

        public Criteria andDesignLessThanOrEqualTo(String value) {
            addCriterion("design <=", value, "design");
            return (Criteria) this;
        }

        public Criteria andDesignLike(String value) {
            addCriterion("design like", value, "design");
            return (Criteria) this;
        }

        public Criteria andDesignNotLike(String value) {
            addCriterion("design not like", value, "design");
            return (Criteria) this;
        }

        public Criteria andDesignIn(List<String> values) {
            addCriterion("design in", values, "design");
            return (Criteria) this;
        }

        public Criteria andDesignNotIn(List<String> values) {
            addCriterion("design not in", values, "design");
            return (Criteria) this;
        }

        public Criteria andDesignBetween(String value1, String value2) {
            addCriterion("design between", value1, value2, "design");
            return (Criteria) this;
        }

        public Criteria andDesignNotBetween(String value1, String value2) {
            addCriterion("design not between", value1, value2, "design");
            return (Criteria) this;
        }

        public Criteria andCatgoryIdIsNull() {
            addCriterion("catgory_id is null");
            return (Criteria) this;
        }

        public Criteria andCatgoryIdIsNotNull() {
            addCriterion("catgory_id is not null");
            return (Criteria) this;
        }

        public Criteria andCatgoryIdEqualTo(String value) {
            addCriterion("catgory_id =", value, "catgoryId");
            return (Criteria) this;
        }

        public Criteria andCatgoryIdNotEqualTo(String value) {
            addCriterion("catgory_id <>", value, "catgoryId");
            return (Criteria) this;
        }

        public Criteria andCatgoryIdGreaterThan(String value) {
            addCriterion("catgory_id >", value, "catgoryId");
            return (Criteria) this;
        }

        public Criteria andCatgoryIdGreaterThanOrEqualTo(String value) {
            addCriterion("catgory_id >=", value, "catgoryId");
            return (Criteria) this;
        }

        public Criteria andCatgoryIdLessThan(String value) {
            addCriterion("catgory_id <", value, "catgoryId");
            return (Criteria) this;
        }

        public Criteria andCatgoryIdLessThanOrEqualTo(String value) {
            addCriterion("catgory_id <=", value, "catgoryId");
            return (Criteria) this;
        }

        public Criteria andCatgoryIdLike(String value) {
            addCriterion("catgory_id like", value, "catgoryId");
            return (Criteria) this;
        }

        public Criteria andCatgoryIdNotLike(String value) {
            addCriterion("catgory_id not like", value, "catgoryId");
            return (Criteria) this;
        }

        public Criteria andCatgoryIdIn(List<String> values) {
            addCriterion("catgory_id in", values, "catgoryId");
            return (Criteria) this;
        }

        public Criteria andCatgoryIdNotIn(List<String> values) {
            addCriterion("catgory_id not in", values, "catgoryId");
            return (Criteria) this;
        }

        public Criteria andCatgoryIdBetween(String value1, String value2) {
            addCriterion("catgory_id between", value1, value2, "catgoryId");
            return (Criteria) this;
        }

        public Criteria andCatgoryIdNotBetween(String value1, String value2) {
            addCriterion("catgory_id not between", value1, value2, "catgoryId");
            return (Criteria) this;
        }

        public Criteria andCatgoryDescIsNull() {
            addCriterion("catgory_desc is null");
            return (Criteria) this;
        }

        public Criteria andCatgoryDescIsNotNull() {
            addCriterion("catgory_desc is not null");
            return (Criteria) this;
        }

        public Criteria andCatgoryDescEqualTo(String value) {
            addCriterion("catgory_desc =", value, "catgoryDesc");
            return (Criteria) this;
        }

        public Criteria andCatgoryDescNotEqualTo(String value) {
            addCriterion("catgory_desc <>", value, "catgoryDesc");
            return (Criteria) this;
        }

        public Criteria andCatgoryDescGreaterThan(String value) {
            addCriterion("catgory_desc >", value, "catgoryDesc");
            return (Criteria) this;
        }

        public Criteria andCatgoryDescGreaterThanOrEqualTo(String value) {
            addCriterion("catgory_desc >=", value, "catgoryDesc");
            return (Criteria) this;
        }

        public Criteria andCatgoryDescLessThan(String value) {
            addCriterion("catgory_desc <", value, "catgoryDesc");
            return (Criteria) this;
        }

        public Criteria andCatgoryDescLessThanOrEqualTo(String value) {
            addCriterion("catgory_desc <=", value, "catgoryDesc");
            return (Criteria) this;
        }

        public Criteria andCatgoryDescLike(String value) {
            addCriterion("catgory_desc like", value, "catgoryDesc");
            return (Criteria) this;
        }

        public Criteria andCatgoryDescNotLike(String value) {
            addCriterion("catgory_desc not like", value, "catgoryDesc");
            return (Criteria) this;
        }

        public Criteria andCatgoryDescIn(List<String> values) {
            addCriterion("catgory_desc in", values, "catgoryDesc");
            return (Criteria) this;
        }

        public Criteria andCatgoryDescNotIn(List<String> values) {
            addCriterion("catgory_desc not in", values, "catgoryDesc");
            return (Criteria) this;
        }

        public Criteria andCatgoryDescBetween(String value1, String value2) {
            addCriterion("catgory_desc between", value1, value2, "catgoryDesc");
            return (Criteria) this;
        }

        public Criteria andCatgoryDescNotBetween(String value1, String value2) {
            addCriterion("catgory_desc not between", value1, value2, "catgoryDesc");
            return (Criteria) this;
        }

        public Criteria andSpec1IsNull() {
            addCriterion("spec1 is null");
            return (Criteria) this;
        }

        public Criteria andSpec1IsNotNull() {
            addCriterion("spec1 is not null");
            return (Criteria) this;
        }

        public Criteria andSpec1EqualTo(Byte value) {
            addCriterion("spec1 =", value, "spec1");
            return (Criteria) this;
        }

        public Criteria andSpec1NotEqualTo(Byte value) {
            addCriterion("spec1 <>", value, "spec1");
            return (Criteria) this;
        }

        public Criteria andSpec1GreaterThan(Byte value) {
            addCriterion("spec1 >", value, "spec1");
            return (Criteria) this;
        }

        public Criteria andSpec1GreaterThanOrEqualTo(Byte value) {
            addCriterion("spec1 >=", value, "spec1");
            return (Criteria) this;
        }

        public Criteria andSpec1LessThan(Byte value) {
            addCriterion("spec1 <", value, "spec1");
            return (Criteria) this;
        }

        public Criteria andSpec1LessThanOrEqualTo(Byte value) {
            addCriterion("spec1 <=", value, "spec1");
            return (Criteria) this;
        }

        public Criteria andSpec1In(List<Byte> values) {
            addCriterion("spec1 in", values, "spec1");
            return (Criteria) this;
        }

        public Criteria andSpec1NotIn(List<Byte> values) {
            addCriterion("spec1 not in", values, "spec1");
            return (Criteria) this;
        }

        public Criteria andSpec1Between(Byte value1, Byte value2) {
            addCriterion("spec1 between", value1, value2, "spec1");
            return (Criteria) this;
        }

        public Criteria andSpec1NotBetween(Byte value1, Byte value2) {
            addCriterion("spec1 not between", value1, value2, "spec1");
            return (Criteria) this;
        }

        public Criteria andSpec2IsNull() {
            addCriterion("spec2 is null");
            return (Criteria) this;
        }

        public Criteria andSpec2IsNotNull() {
            addCriterion("spec2 is not null");
            return (Criteria) this;
        }

        public Criteria andSpec2EqualTo(Byte value) {
            addCriterion("spec2 =", value, "spec2");
            return (Criteria) this;
        }

        public Criteria andSpec2NotEqualTo(Byte value) {
            addCriterion("spec2 <>", value, "spec2");
            return (Criteria) this;
        }

        public Criteria andSpec2GreaterThan(Byte value) {
            addCriterion("spec2 >", value, "spec2");
            return (Criteria) this;
        }

        public Criteria andSpec2GreaterThanOrEqualTo(Byte value) {
            addCriterion("spec2 >=", value, "spec2");
            return (Criteria) this;
        }

        public Criteria andSpec2LessThan(Byte value) {
            addCriterion("spec2 <", value, "spec2");
            return (Criteria) this;
        }

        public Criteria andSpec2LessThanOrEqualTo(Byte value) {
            addCriterion("spec2 <=", value, "spec2");
            return (Criteria) this;
        }

        public Criteria andSpec2In(List<Byte> values) {
            addCriterion("spec2 in", values, "spec2");
            return (Criteria) this;
        }

        public Criteria andSpec2NotIn(List<Byte> values) {
            addCriterion("spec2 not in", values, "spec2");
            return (Criteria) this;
        }

        public Criteria andSpec2Between(Byte value1, Byte value2) {
            addCriterion("spec2 between", value1, value2, "spec2");
            return (Criteria) this;
        }

        public Criteria andSpec2NotBetween(Byte value1, Byte value2) {
            addCriterion("spec2 not between", value1, value2, "spec2");
            return (Criteria) this;
        }

        public Criteria andSpec3IsNull() {
            addCriterion("spec3 is null");
            return (Criteria) this;
        }

        public Criteria andSpec3IsNotNull() {
            addCriterion("spec3 is not null");
            return (Criteria) this;
        }

        public Criteria andSpec3EqualTo(Byte value) {
            addCriterion("spec3 =", value, "spec3");
            return (Criteria) this;
        }

        public Criteria andSpec3NotEqualTo(Byte value) {
            addCriterion("spec3 <>", value, "spec3");
            return (Criteria) this;
        }

        public Criteria andSpec3GreaterThan(Byte value) {
            addCriterion("spec3 >", value, "spec3");
            return (Criteria) this;
        }

        public Criteria andSpec3GreaterThanOrEqualTo(Byte value) {
            addCriterion("spec3 >=", value, "spec3");
            return (Criteria) this;
        }

        public Criteria andSpec3LessThan(Byte value) {
            addCriterion("spec3 <", value, "spec3");
            return (Criteria) this;
        }

        public Criteria andSpec3LessThanOrEqualTo(Byte value) {
            addCriterion("spec3 <=", value, "spec3");
            return (Criteria) this;
        }

        public Criteria andSpec3In(List<Byte> values) {
            addCriterion("spec3 in", values, "spec3");
            return (Criteria) this;
        }

        public Criteria andSpec3NotIn(List<Byte> values) {
            addCriterion("spec3 not in", values, "spec3");
            return (Criteria) this;
        }

        public Criteria andSpec3Between(Byte value1, Byte value2) {
            addCriterion("spec3 between", value1, value2, "spec3");
            return (Criteria) this;
        }

        public Criteria andSpec3NotBetween(Byte value1, Byte value2) {
            addCriterion("spec3 not between", value1, value2, "spec3");
            return (Criteria) this;
        }

        public Criteria andSpec4IsNull() {
            addCriterion("spec4 is null");
            return (Criteria) this;
        }

        public Criteria andSpec4IsNotNull() {
            addCriterion("spec4 is not null");
            return (Criteria) this;
        }

        public Criteria andSpec4EqualTo(Byte value) {
            addCriterion("spec4 =", value, "spec4");
            return (Criteria) this;
        }

        public Criteria andSpec4NotEqualTo(Byte value) {
            addCriterion("spec4 <>", value, "spec4");
            return (Criteria) this;
        }

        public Criteria andSpec4GreaterThan(Byte value) {
            addCriterion("spec4 >", value, "spec4");
            return (Criteria) this;
        }

        public Criteria andSpec4GreaterThanOrEqualTo(Byte value) {
            addCriterion("spec4 >=", value, "spec4");
            return (Criteria) this;
        }

        public Criteria andSpec4LessThan(Byte value) {
            addCriterion("spec4 <", value, "spec4");
            return (Criteria) this;
        }

        public Criteria andSpec4LessThanOrEqualTo(Byte value) {
            addCriterion("spec4 <=", value, "spec4");
            return (Criteria) this;
        }

        public Criteria andSpec4In(List<Byte> values) {
            addCriterion("spec4 in", values, "spec4");
            return (Criteria) this;
        }

        public Criteria andSpec4NotIn(List<Byte> values) {
            addCriterion("spec4 not in", values, "spec4");
            return (Criteria) this;
        }

        public Criteria andSpec4Between(Byte value1, Byte value2) {
            addCriterion("spec4 between", value1, value2, "spec4");
            return (Criteria) this;
        }

        public Criteria andSpec4NotBetween(Byte value1, Byte value2) {
            addCriterion("spec4 not between", value1, value2, "spec4");
            return (Criteria) this;
        }

        public Criteria andReleasedIsNull() {
            addCriterion("released is null");
            return (Criteria) this;
        }

        public Criteria andReleasedIsNotNull() {
            addCriterion("released is not null");
            return (Criteria) this;
        }

        public Criteria andReleasedEqualTo(Integer value) {
            addCriterion("released =", value, "released");
            return (Criteria) this;
        }

        public Criteria andReleasedNotEqualTo(Integer value) {
            addCriterion("released <>", value, "released");
            return (Criteria) this;
        }

        public Criteria andReleasedGreaterThan(Integer value) {
            addCriterion("released >", value, "released");
            return (Criteria) this;
        }

        public Criteria andReleasedGreaterThanOrEqualTo(Integer value) {
            addCriterion("released >=", value, "released");
            return (Criteria) this;
        }

        public Criteria andReleasedLessThan(Integer value) {
            addCriterion("released <", value, "released");
            return (Criteria) this;
        }

        public Criteria andReleasedLessThanOrEqualTo(Integer value) {
            addCriterion("released <=", value, "released");
            return (Criteria) this;
        }

        public Criteria andReleasedIn(List<Integer> values) {
            addCriterion("released in", values, "released");
            return (Criteria) this;
        }

        public Criteria andReleasedNotIn(List<Integer> values) {
            addCriterion("released not in", values, "released");
            return (Criteria) this;
        }

        public Criteria andReleasedBetween(Integer value1, Integer value2) {
            addCriterion("released between", value1, value2, "released");
            return (Criteria) this;
        }

        public Criteria andReleasedNotBetween(Integer value1, Integer value2) {
            addCriterion("released not between", value1, value2, "released");
            return (Criteria) this;
        }

        public Criteria andColourIdIsNull() {
            addCriterion("colour_id is null");
            return (Criteria) this;
        }

        public Criteria andColourIdIsNotNull() {
            addCriterion("colour_id is not null");
            return (Criteria) this;
        }

        public Criteria andColourIdEqualTo(String value) {
            addCriterion("colour_id =", value, "colourId");
            return (Criteria) this;
        }

        public Criteria andColourIdNotEqualTo(String value) {
            addCriterion("colour_id <>", value, "colourId");
            return (Criteria) this;
        }

        public Criteria andColourIdGreaterThan(String value) {
            addCriterion("colour_id >", value, "colourId");
            return (Criteria) this;
        }

        public Criteria andColourIdGreaterThanOrEqualTo(String value) {
            addCriterion("colour_id >=", value, "colourId");
            return (Criteria) this;
        }

        public Criteria andColourIdLessThan(String value) {
            addCriterion("colour_id <", value, "colourId");
            return (Criteria) this;
        }

        public Criteria andColourIdLessThanOrEqualTo(String value) {
            addCriterion("colour_id <=", value, "colourId");
            return (Criteria) this;
        }

        public Criteria andColourIdLike(String value) {
            addCriterion("colour_id like", value, "colourId");
            return (Criteria) this;
        }

        public Criteria andColourIdNotLike(String value) {
            addCriterion("colour_id not like", value, "colourId");
            return (Criteria) this;
        }

        public Criteria andColourIdIn(List<String> values) {
            addCriterion("colour_id in", values, "colourId");
            return (Criteria) this;
        }

        public Criteria andColourIdNotIn(List<String> values) {
            addCriterion("colour_id not in", values, "colourId");
            return (Criteria) this;
        }

        public Criteria andColourIdBetween(String value1, String value2) {
            addCriterion("colour_id between", value1, value2, "colourId");
            return (Criteria) this;
        }

        public Criteria andColourIdNotBetween(String value1, String value2) {
            addCriterion("colour_id not between", value1, value2, "colourId");
            return (Criteria) this;
        }

        public Criteria andColourDescIsNull() {
            addCriterion("colour_desc is null");
            return (Criteria) this;
        }

        public Criteria andColourDescIsNotNull() {
            addCriterion("colour_desc is not null");
            return (Criteria) this;
        }

        public Criteria andColourDescEqualTo(String value) {
            addCriterion("colour_desc =", value, "colourDesc");
            return (Criteria) this;
        }

        public Criteria andColourDescNotEqualTo(String value) {
            addCriterion("colour_desc <>", value, "colourDesc");
            return (Criteria) this;
        }

        public Criteria andColourDescGreaterThan(String value) {
            addCriterion("colour_desc >", value, "colourDesc");
            return (Criteria) this;
        }

        public Criteria andColourDescGreaterThanOrEqualTo(String value) {
            addCriterion("colour_desc >=", value, "colourDesc");
            return (Criteria) this;
        }

        public Criteria andColourDescLessThan(String value) {
            addCriterion("colour_desc <", value, "colourDesc");
            return (Criteria) this;
        }

        public Criteria andColourDescLessThanOrEqualTo(String value) {
            addCriterion("colour_desc <=", value, "colourDesc");
            return (Criteria) this;
        }

        public Criteria andColourDescLike(String value) {
            addCriterion("colour_desc like", value, "colourDesc");
            return (Criteria) this;
        }

        public Criteria andColourDescNotLike(String value) {
            addCriterion("colour_desc not like", value, "colourDesc");
            return (Criteria) this;
        }

        public Criteria andColourDescIn(List<String> values) {
            addCriterion("colour_desc in", values, "colourDesc");
            return (Criteria) this;
        }

        public Criteria andColourDescNotIn(List<String> values) {
            addCriterion("colour_desc not in", values, "colourDesc");
            return (Criteria) this;
        }

        public Criteria andColourDescBetween(String value1, String value2) {
            addCriterion("colour_desc between", value1, value2, "colourDesc");
            return (Criteria) this;
        }

        public Criteria andColourDescNotBetween(String value1, String value2) {
            addCriterion("colour_desc not between", value1, value2, "colourDesc");
            return (Criteria) this;
        }

        public Criteria andColourRgbIsNull() {
            addCriterion("colour_rgb is null");
            return (Criteria) this;
        }

        public Criteria andColourRgbIsNotNull() {
            addCriterion("colour_rgb is not null");
            return (Criteria) this;
        }

        public Criteria andColourRgbEqualTo(String value) {
            addCriterion("colour_rgb =", value, "colourRgb");
            return (Criteria) this;
        }

        public Criteria andColourRgbNotEqualTo(String value) {
            addCriterion("colour_rgb <>", value, "colourRgb");
            return (Criteria) this;
        }

        public Criteria andColourRgbGreaterThan(String value) {
            addCriterion("colour_rgb >", value, "colourRgb");
            return (Criteria) this;
        }

        public Criteria andColourRgbGreaterThanOrEqualTo(String value) {
            addCriterion("colour_rgb >=", value, "colourRgb");
            return (Criteria) this;
        }

        public Criteria andColourRgbLessThan(String value) {
            addCriterion("colour_rgb <", value, "colourRgb");
            return (Criteria) this;
        }

        public Criteria andColourRgbLessThanOrEqualTo(String value) {
            addCriterion("colour_rgb <=", value, "colourRgb");
            return (Criteria) this;
        }

        public Criteria andColourRgbLike(String value) {
            addCriterion("colour_rgb like", value, "colourRgb");
            return (Criteria) this;
        }

        public Criteria andColourRgbNotLike(String value) {
            addCriterion("colour_rgb not like", value, "colourRgb");
            return (Criteria) this;
        }

        public Criteria andColourRgbIn(List<String> values) {
            addCriterion("colour_rgb in", values, "colourRgb");
            return (Criteria) this;
        }

        public Criteria andColourRgbNotIn(List<String> values) {
            addCriterion("colour_rgb not in", values, "colourRgb");
            return (Criteria) this;
        }

        public Criteria andColourRgbBetween(String value1, String value2) {
            addCriterion("colour_rgb between", value1, value2, "colourRgb");
            return (Criteria) this;
        }

        public Criteria andColourRgbNotBetween(String value1, String value2) {
            addCriterion("colour_rgb not between", value1, value2, "colourRgb");
            return (Criteria) this;
        }

        public Criteria andColourTypeIsNull() {
            addCriterion("colour_type is null");
            return (Criteria) this;
        }

        public Criteria andColourTypeIsNotNull() {
            addCriterion("colour_type is not null");
            return (Criteria) this;
        }

        public Criteria andColourTypeEqualTo(String value) {
            addCriterion("colour_type =", value, "colourType");
            return (Criteria) this;
        }

        public Criteria andColourTypeNotEqualTo(String value) {
            addCriterion("colour_type <>", value, "colourType");
            return (Criteria) this;
        }

        public Criteria andColourTypeGreaterThan(String value) {
            addCriterion("colour_type >", value, "colourType");
            return (Criteria) this;
        }

        public Criteria andColourTypeGreaterThanOrEqualTo(String value) {
            addCriterion("colour_type >=", value, "colourType");
            return (Criteria) this;
        }

        public Criteria andColourTypeLessThan(String value) {
            addCriterion("colour_type <", value, "colourType");
            return (Criteria) this;
        }

        public Criteria andColourTypeLessThanOrEqualTo(String value) {
            addCriterion("colour_type <=", value, "colourType");
            return (Criteria) this;
        }

        public Criteria andColourTypeLike(String value) {
            addCriterion("colour_type like", value, "colourType");
            return (Criteria) this;
        }

        public Criteria andColourTypeNotLike(String value) {
            addCriterion("colour_type not like", value, "colourType");
            return (Criteria) this;
        }

        public Criteria andColourTypeIn(List<String> values) {
            addCriterion("colour_type in", values, "colourType");
            return (Criteria) this;
        }

        public Criteria andColourTypeNotIn(List<String> values) {
            addCriterion("colour_type not in", values, "colourType");
            return (Criteria) this;
        }

        public Criteria andColourTypeBetween(String value1, String value2) {
            addCriterion("colour_type between", value1, value2, "colourType");
            return (Criteria) this;
        }

        public Criteria andColourTypeNotBetween(String value1, String value2) {
            addCriterion("colour_type not between", value1, value2, "colourType");
            return (Criteria) this;
        }

        public Criteria andLegoColourIdIsNull() {
            addCriterion("lego_colour_id is null");
            return (Criteria) this;
        }

        public Criteria andLegoColourIdIsNotNull() {
            addCriterion("lego_colour_id is not null");
            return (Criteria) this;
        }

        public Criteria andLegoColourIdEqualTo(String value) {
            addCriterion("lego_colour_id =", value, "legoColourId");
            return (Criteria) this;
        }

        public Criteria andLegoColourIdNotEqualTo(String value) {
            addCriterion("lego_colour_id <>", value, "legoColourId");
            return (Criteria) this;
        }

        public Criteria andLegoColourIdGreaterThan(String value) {
            addCriterion("lego_colour_id >", value, "legoColourId");
            return (Criteria) this;
        }

        public Criteria andLegoColourIdGreaterThanOrEqualTo(String value) {
            addCriterion("lego_colour_id >=", value, "legoColourId");
            return (Criteria) this;
        }

        public Criteria andLegoColourIdLessThan(String value) {
            addCriterion("lego_colour_id <", value, "legoColourId");
            return (Criteria) this;
        }

        public Criteria andLegoColourIdLessThanOrEqualTo(String value) {
            addCriterion("lego_colour_id <=", value, "legoColourId");
            return (Criteria) this;
        }

        public Criteria andLegoColourIdLike(String value) {
            addCriterion("lego_colour_id like", value, "legoColourId");
            return (Criteria) this;
        }

        public Criteria andLegoColourIdNotLike(String value) {
            addCriterion("lego_colour_id not like", value, "legoColourId");
            return (Criteria) this;
        }

        public Criteria andLegoColourIdIn(List<String> values) {
            addCriterion("lego_colour_id in", values, "legoColourId");
            return (Criteria) this;
        }

        public Criteria andLegoColourIdNotIn(List<String> values) {
            addCriterion("lego_colour_id not in", values, "legoColourId");
            return (Criteria) this;
        }

        public Criteria andLegoColourIdBetween(String value1, String value2) {
            addCriterion("lego_colour_id between", value1, value2, "legoColourId");
            return (Criteria) this;
        }

        public Criteria andLegoColourIdNotBetween(String value1, String value2) {
            addCriterion("lego_colour_id not between", value1, value2, "legoColourId");
            return (Criteria) this;
        }

        public Criteria andBrickLinkNameIsNull() {
            addCriterion("brick_link_name is null");
            return (Criteria) this;
        }

        public Criteria andBrickLinkNameIsNotNull() {
            addCriterion("brick_link_name is not null");
            return (Criteria) this;
        }

        public Criteria andBrickLinkNameEqualTo(String value) {
            addCriterion("brick_link_name =", value, "brickLinkName");
            return (Criteria) this;
        }

        public Criteria andBrickLinkNameNotEqualTo(String value) {
            addCriterion("brick_link_name <>", value, "brickLinkName");
            return (Criteria) this;
        }

        public Criteria andBrickLinkNameGreaterThan(String value) {
            addCriterion("brick_link_name >", value, "brickLinkName");
            return (Criteria) this;
        }

        public Criteria andBrickLinkNameGreaterThanOrEqualTo(String value) {
            addCriterion("brick_link_name >=", value, "brickLinkName");
            return (Criteria) this;
        }

        public Criteria andBrickLinkNameLessThan(String value) {
            addCriterion("brick_link_name <", value, "brickLinkName");
            return (Criteria) this;
        }

        public Criteria andBrickLinkNameLessThanOrEqualTo(String value) {
            addCriterion("brick_link_name <=", value, "brickLinkName");
            return (Criteria) this;
        }

        public Criteria andBrickLinkNameLike(String value) {
            addCriterion("brick_link_name like", value, "brickLinkName");
            return (Criteria) this;
        }

        public Criteria andBrickLinkNameNotLike(String value) {
            addCriterion("brick_link_name not like", value, "brickLinkName");
            return (Criteria) this;
        }

        public Criteria andBrickLinkNameIn(List<String> values) {
            addCriterion("brick_link_name in", values, "brickLinkName");
            return (Criteria) this;
        }

        public Criteria andBrickLinkNameNotIn(List<String> values) {
            addCriterion("brick_link_name not in", values, "brickLinkName");
            return (Criteria) this;
        }

        public Criteria andBrickLinkNameBetween(String value1, String value2) {
            addCriterion("brick_link_name between", value1, value2, "brickLinkName");
            return (Criteria) this;
        }

        public Criteria andBrickLinkNameNotBetween(String value1, String value2) {
            addCriterion("brick_link_name not between", value1, value2, "brickLinkName");
            return (Criteria) this;
        }

        public Criteria andCreatedAtIsNull() {
            addCriterion("created_at is null");
            return (Criteria) this;
        }

        public Criteria andCreatedAtIsNotNull() {
            addCriterion("created_at is not null");
            return (Criteria) this;
        }

        public Criteria andCreatedAtEqualTo(Date value) {
            addCriterion("created_at =", value, "createdAt");
            return (Criteria) this;
        }

        public Criteria andCreatedAtNotEqualTo(Date value) {
            addCriterion("created_at <>", value, "createdAt");
            return (Criteria) this;
        }

        public Criteria andCreatedAtGreaterThan(Date value) {
            addCriterion("created_at >", value, "createdAt");
            return (Criteria) this;
        }

        public Criteria andCreatedAtGreaterThanOrEqualTo(Date value) {
            addCriterion("created_at >=", value, "createdAt");
            return (Criteria) this;
        }

        public Criteria andCreatedAtLessThan(Date value) {
            addCriterion("created_at <", value, "createdAt");
            return (Criteria) this;
        }

        public Criteria andCreatedAtLessThanOrEqualTo(Date value) {
            addCriterion("created_at <=", value, "createdAt");
            return (Criteria) this;
        }

        public Criteria andCreatedAtIn(List<Date> values) {
            addCriterion("created_at in", values, "createdAt");
            return (Criteria) this;
        }

        public Criteria andCreatedAtNotIn(List<Date> values) {
            addCriterion("created_at not in", values, "createdAt");
            return (Criteria) this;
        }

        public Criteria andCreatedAtBetween(Date value1, Date value2) {
            addCriterion("created_at between", value1, value2, "createdAt");
            return (Criteria) this;
        }

        public Criteria andCreatedAtNotBetween(Date value1, Date value2) {
            addCriterion("created_at not between", value1, value2, "createdAt");
            return (Criteria) this;
        }

        public Criteria andUpdatedAtIsNull() {
            addCriterion("updated_at is null");
            return (Criteria) this;
        }

        public Criteria andUpdatedAtIsNotNull() {
            addCriterion("updated_at is not null");
            return (Criteria) this;
        }

        public Criteria andUpdatedAtEqualTo(Date value) {
            addCriterion("updated_at =", value, "updatedAt");
            return (Criteria) this;
        }

        public Criteria andUpdatedAtNotEqualTo(Date value) {
            addCriterion("updated_at <>", value, "updatedAt");
            return (Criteria) this;
        }

        public Criteria andUpdatedAtGreaterThan(Date value) {
            addCriterion("updated_at >", value, "updatedAt");
            return (Criteria) this;
        }

        public Criteria andUpdatedAtGreaterThanOrEqualTo(Date value) {
            addCriterion("updated_at >=", value, "updatedAt");
            return (Criteria) this;
        }

        public Criteria andUpdatedAtLessThan(Date value) {
            addCriterion("updated_at <", value, "updatedAt");
            return (Criteria) this;
        }

        public Criteria andUpdatedAtLessThanOrEqualTo(Date value) {
            addCriterion("updated_at <=", value, "updatedAt");
            return (Criteria) this;
        }

        public Criteria andUpdatedAtIn(List<Date> values) {
            addCriterion("updated_at in", values, "updatedAt");
            return (Criteria) this;
        }

        public Criteria andUpdatedAtNotIn(List<Date> values) {
            addCriterion("updated_at not in", values, "updatedAt");
            return (Criteria) this;
        }

        public Criteria andUpdatedAtBetween(Date value1, Date value2) {
            addCriterion("updated_at between", value1, value2, "updatedAt");
            return (Criteria) this;
        }

        public Criteria andUpdatedAtNotBetween(Date value1, Date value2) {
            addCriterion("updated_at not between", value1, value2, "updatedAt");
            return (Criteria) this;
        }

        public Criteria andRemarksIsNull() {
            addCriterion("remarks is null");
            return (Criteria) this;
        }

        public Criteria andRemarksIsNotNull() {
            addCriterion("remarks is not null");
            return (Criteria) this;
        }

        public Criteria andRemarksEqualTo(String value) {
            addCriterion("remarks =", value, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksNotEqualTo(String value) {
            addCriterion("remarks <>", value, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksGreaterThan(String value) {
            addCriterion("remarks >", value, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksGreaterThanOrEqualTo(String value) {
            addCriterion("remarks >=", value, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksLessThan(String value) {
            addCriterion("remarks <", value, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksLessThanOrEqualTo(String value) {
            addCriterion("remarks <=", value, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksLike(String value) {
            addCriterion("remarks like", value, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksNotLike(String value) {
            addCriterion("remarks not like", value, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksIn(List<String> values) {
            addCriterion("remarks in", values, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksNotIn(List<String> values) {
            addCriterion("remarks not in", values, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksBetween(String value1, String value2) {
            addCriterion("remarks between", value1, value2, "remarks");
            return (Criteria) this;
        }

        public Criteria andRemarksNotBetween(String value1, String value2) {
            addCriterion("remarks not between", value1, value2, "remarks");
            return (Criteria) this;
        }

        public Criteria andIdLikeInsensitive(String value) {
            addCriterion("upper(id) like", value.toUpperCase(), "id");
            return (Criteria) this;
        }

        public Criteria andElementNameChLikeInsensitive(String value) {
            addCriterion("upper(element_name_ch) like", value.toUpperCase(), "elementNameCh");
            return (Criteria) this;
        }

        public Criteria andElementNameEnLikeInsensitive(String value) {
            addCriterion("upper(element_name_en) like", value.toUpperCase(), "elementNameEn");
            return (Criteria) this;
        }

        public Criteria andDesignLikeInsensitive(String value) {
            addCriterion("upper(design) like", value.toUpperCase(), "design");
            return (Criteria) this;
        }

        public Criteria andCatgoryIdLikeInsensitive(String value) {
            addCriterion("upper(catgory_id) like", value.toUpperCase(), "catgoryId");
            return (Criteria) this;
        }

        public Criteria andCatgoryDescLikeInsensitive(String value) {
            addCriterion("upper(catgory_desc) like", value.toUpperCase(), "catgoryDesc");
            return (Criteria) this;
        }

        public Criteria andColourIdLikeInsensitive(String value) {
            addCriterion("upper(colour_id) like", value.toUpperCase(), "colourId");
            return (Criteria) this;
        }

        public Criteria andColourDescLikeInsensitive(String value) {
            addCriterion("upper(colour_desc) like", value.toUpperCase(), "colourDesc");
            return (Criteria) this;
        }

        public Criteria andColourRgbLikeInsensitive(String value) {
            addCriterion("upper(colour_rgb) like", value.toUpperCase(), "colourRgb");
            return (Criteria) this;
        }

        public Criteria andColourTypeLikeInsensitive(String value) {
            addCriterion("upper(colour_type) like", value.toUpperCase(), "colourType");
            return (Criteria) this;
        }

        public Criteria andLegoColourIdLikeInsensitive(String value) {
            addCriterion("upper(lego_colour_id) like", value.toUpperCase(), "legoColourId");
            return (Criteria) this;
        }

        public Criteria andBrickLinkNameLikeInsensitive(String value) {
            addCriterion("upper(brick_link_name) like", value.toUpperCase(), "brickLinkName");
            return (Criteria) this;
        }

        public Criteria andRemarksLikeInsensitive(String value) {
            addCriterion("upper(remarks) like", value.toUpperCase(), "remarks");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}